package algorithm;

public class leetcode_0343 {
    public int integerBreak(int n) {
        int[] dp=new int[n+1];
        dp[0]=0;
        dp[1]=1;
        for(int i=2;i<=n;++i){
            int max=0;
            for(int j=1;j<i;++j){
                max=(max>j*(i-j))?max:j*(i-j);
                max=(max>j*dp[i-j])?max:dp[i-j]*j;
            }
            dp[i]=max;
        }

        return dp[n];
    }
}
